// https://leetcode.cn/problems/smallest-range-i/description/

func min(a []int) int {
	ans := 10000
	for _, v := range a{
		if v < ans {
			ans = v
		}
	}
	return ans
}

func max(a []int) int {
	ans := 0
	for _, v := range a {
		if v > ans {
			ans = v
		}
	}
	return ans
}

func smallestRangeI(nums []int, k int) int {
    min_v := min(nums)
	max_v := max(nums)
	if max_v - min_v <= 2 * k {
		return 0
	}
	return max_v - k - (min_v + k)
}